home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / game / patch / WHDIGamesE-F.lzh / EyeOfTheBeholder.lha / EyeOfTheBeholder_Hd / Install < prev    next >
Text File  |  2002-06-22  |  11KB  |  379 lines

  1. ;****************************
  2.  
  3. (set #sub-dir "data")                       ;sub directory containing data files
  4. (set #readme-file "ReadMe")             ;name of readme file
  5. (set #man-file "Manual")                ;name of manual file
  6. (set #hint-file "Hints")                ;name of hint file
  7. (set #sol-file "Solution")              ;name of solution file
  8. (set #highs-file "disk.4")               ;name of high scores file
  9. (set #prefix @app-name)                 ;name of slave, directory
  10.  
  11. (set #ico_suffix_00 "inf")              ;Icon suffixes (not all of these must exist)
  12. (set #ico_suffix_01 "magicwb")
  13. (set #ico_suffix_02 "romicon")
  14. (set #ico_suffix_03 "newicon")
  15. (set #ico_suffix_04 "newexot")
  16. (set #ico_suffix_05 "coloricon")
  17. (set #ico_suffix_06 "colexot")
  18. (set #ico_suffix_07 "colfrank")
  19. (set #ico_suffix_08 "colchris")
  20. (set #ico_suffix_09 "colcode")
  21. (set #ico_suffix_10 "colcfou")
  22. (set #ico_suffix_11 "colcfou2")
  23.  
  24. ;Icon descriptions (max 21 chars if you have > 9 entries, or 27 chars otherwise.
  25. ;These are renamed to "gamename.info" so no illegal characters like :/* etc
  26. ;                 "123456789012345678901234567"
  27. (set #ico_desc_00 "Normal")
  28. (set #ico_desc_01 "MagicWB Icon")
  29. (set #ico_desc_02 "RomIcon")
  30. (set #ico_desc_03 "NewIcon")
  31. (set #ico_desc_04 "NewIcon by Exotica")
  32. (set #ico_desc_05 "OS3.5 Icon")
  33. (set #ico_desc_06 "OS3.5 Icon by Exotica")
  34. (set #ico_desc_07 "OS3.5 Icon by Frank")
  35. (set #ico_desc_08 "OS3.5 Icon by Chris Vella")
  36. (set #ico_desc_09 "OS3.5 Icon by Codetapper")
  37. (set #ico_desc_10 "OS3.5 Icon by CFou")
  38. (set #ico_desc_11 "OS3.5 Big Icon by CFou")
  39.  
  40. (procedure P_MakeImages
  41.  
  42.   ;the following lines must be copied and adjusted for multiple disk images
  43.  
  44.   (set #CI_disknum 1)
  45.   (set #CI_diskname ("%s Disk %ld" @app-name #CI_disknum))
  46.   (set #CI_disklen 901120)
  47.   (set #CI_skiptrk "")
  48.   (P_CreateImage)
  49.  
  50.   ;for example...
  51.   (set #CI_disknum 2)
  52.   (set #CI_diskname ("%s Disk %ld" @app-name #CI_disknum))
  53.   (P_CreateImage)
  54.  
  55.   (set #CI_disknum 3)
  56.   (set #CI_diskname ("%s Disk %ld" @app-name #CI_disknum))
  57.   (P_CreateImage)
  58.  
  59. )
  60.  
  61. ;****************************
  62. ;----------------------------
  63. ; checks if given program is installed, if not abort install
  64. ; #program - to check
  65.  
  66. (procedure P_ChkRun
  67.   (if (= 0 (run ("cd SYS:\nWhich %s >NIL:" #program)))
  68.     ("")
  69.     (abort
  70.       (cat
  71.         "You must install \"" #program "\" first!\n"
  72.         "It must be accessible via the path.\n"
  73.         "You can find it in the WHDLoad package."
  74.       )
  75.     )
  76.   )
  77. )
  78.  
  79. ;----------------------------
  80. ; Create Image using DIC
  81. ; #dest        - path to save image in
  82. ; #CI_disknum  - number of the disk image to create
  83. ; #CI_diskname - label of the disk
  84. ; #CI_disklen  - length of disk image to create
  85. ; #CI_skiptrk  - track to skip, -1 means no skip
  86. ; #CI_drive    - drive to create image from
  87.  
  88. (procedure P_CreateImage
  89.   (message
  90.     (cat
  91.         "\nInsert \"" #CI_diskname "\" into drive " #CI_drive "!\n\n"
  92.         "(make sure it's the right disk because it will not be checked)"
  93.     )
  94.   )
  95.   (if (= #CI_skiptrk "")
  96.     (set #option "")
  97.     (set #option (cat " SKIPTRACK=" #CI_skiptrk))
  98.   )
  99.   (if
  100.     (= 0
  101.       (run
  102.         (cat
  103.           "cd \"" #dest "\"\n"
  104.           "DIC " #CI_drive " FD=" #CI_disknum " LD=" #CI_disknum " SIZE="
  105.           #CI_disklen #option " PEDANTIC >CON:///1000//CLOSE"
  106.         )
  107.       )
  108.     )
  109.     (run ("FileNote \"%s.%ld\" \"%s\" Quiet" (tackon #dest "disk") #CI_disknum @app-name))
  110.     (abort "\"DIC\" has failed to create a diskimage")
  111.   )
  112. )
  113.  
  114. ;----------------------------
  115. ; copy file including icon if exist
  116. ; #copy-file - name of file to copy
  117.  
  118. (procedure P_CopyFile
  119.   (if (exists #copy-file) (
  120.     (copyfiles
  121.       (help @copyfiles-help)
  122.       (source #copy-file)
  123.       (dest #dest)
  124.     )
  125.     (if (exists ("%s.info" #copy-file)) (
  126.       (copyfiles
  127.         (help @copyfiles-help)
  128.         (source ("%s.info" #copy-file))
  129.         (dest #dest)
  130.       )
  131.       (tooltype
  132.         (dest (tackon #dest #copy-file))
  133.         (noposition)
  134.       )
  135.     ))
  136.   ))
  137. )
  138.  
  139. ;****************************
  140.  
  141. (if (< @installer-version (+ (* 44 65536) 10))
  142.   (
  143.     (message
  144.       (cat
  145.         "Warning: your installer is outdated.\n"
  146.         "Some features of this installation won't be available, "
  147.         "such as icon show and drawer opening. "
  148.         "You have version " (/ @installer-version 65536) "." 
  149.         (BITAND @installer-version 65535) ", recommended is version 44.10. "
  150.         "The 'installer' 44.10 comes with OS 3.5 but is also contained in the NDK 3.9. "
  151.         "You may also use the InstallerNG by Jens Tröger."
  152.         "\n\n"
  153.         "The installers can be obtained from the net:\n"
  154.         "http://www.amiga.com/3.9/download/NDK3.9.lha\n"
  155.         "aminet:util/sys/InstallerNG.lha"
  156.       )
  157.     )
  158.     (set #newstuff 0)
  159.   )
  160.   (set #newstuff 1)
  161. )
  162.  
  163. (if (exists #readme-file)
  164.   (if (= 0 (run ("SYS:Utilities/Multiview %s" #readme-file)))
  165.     ("")
  166.     (run ("SYS:Utilities/More %s" #readme-file))
  167.   )
  168. )
  169.  
  170. (set #program "WHDLoad")
  171. (P_ChkRun)
  172.  
  173. (set #program "DIC")
  174. (P_ChkRun)
  175.  
  176. (if (= @user-level 2)
  177.   (
  178.     (set #CI_drive
  179.       (askchoice
  180.         (prompt "Select source drive for diskimages")
  181.         (default 0)
  182.         (choices "DF0:" "DF1:" "RAD:" "Enter Device")
  183.         (help @askchoice-help)
  184.       )
  185.     )
  186.     (select #CI_drive
  187.       (set #CI_drive "DF0:")
  188.       (set #CI_drive "DF1:")
  189.       (set #CI_drive "RAD:")
  190.       (set #CI_drive
  191.         (askstring
  192.           (prompt "Select source drive for diskimages")
  193.           (default "DF0:")
  194.           (help @askstring-help)
  195.         )
  196.       )
  197.     )
  198.   )
  199.   (set #CI_drive "DF0:")
  200. )
  201.  
  202. (if (getenv "WHDLInstPath")
  203.   (set @default-dest (getenv "WHDLInstPath"))
  204. )
  205. (set #dest
  206.   (askdir
  207.     (prompt
  208.       (cat
  209.         "Where should \"" @app-name "\" be installed?\n"
  210.         "A drawer \"" #prefix "\" will be automatically created."
  211.       )
  212.     )
  213.     (help @askdir-help)
  214.     (default @default-dest)
  215.   )
  216. )
  217. (run ("setenv WHDLInstPath \"%s\"\ncopy ENV:WHDLInstPath ENVARC:" #dest))
  218. (set #dest (tackon #dest #prefix))
  219. (if (exists #dest) (
  220.   (set #choice
  221.     (askbool
  222.       (prompt
  223.         (cat
  224.           "\nDirectory \"" #dest "\" already exists.\n"
  225.           "Should it be deleted?"
  226.         )
  227.       )
  228.       (default 1)
  229.       (choices "Delete" "Skip")
  230.       (help @askbool-help)
  231.     )
  232.   )
  233.   (if (= #choice 1)
  234.     (delete #dest
  235.       (help @delete-help)
  236.       (all)
  237.     )
  238.   )
  239. ))
  240. (makedir #dest
  241.   (help @makedir-help)
  242.   (infos)
  243. )
  244.  
  245. ;----------------------------
  246.  
  247. (copyfiles
  248.   (help @copyfiles-help)
  249.   (source ("%s.Slave" #prefix))
  250.   (dest #dest)
  251. )
  252. (set #icon 0)
  253. (if (exists ("%s.%s" #prefix #ico_suffix_11)) ((set #icon 11)(set #icnt (+ 1 #icnt))(set #icon_11 #ico_desc_11)) (set #icon_11 ""))
  254. (if (exists ("%s.%s" #prefix #ico_suffix_10)) ((set #icon 10)(set #icnt (+ 1 #icnt))(set #icon_10 #ico_desc_10)) (set #icon_10 ""))
  255. (if (exists ("%s.%s" #prefix #ico_suffix_09)) ((set #icon 9) (set #icnt (+ 1 #icnt))(set #icon_09 #ico_desc_09)) (set #icon_09 ""))
  256. (if (exists ("%s.%s" #prefix #ico_suffix_08)) ((set #icon 8) (set #icnt (+ 1 #icnt))(set #icon_08 #ico_desc_08)) (set #icon_08 ""))
  257. (if (exists ("%s.%s" #prefix #ico_suffix_07)) ((set #icon 7) (set #icnt (+ 1 #icnt))(set #icon_07 #ico_desc_07)) (set #icon_07 ""))
  258. (if (exists ("%s.%s" #prefix #ico_suffix_06)) ((set #icon 6) (set #icnt (+ 1 #icnt))(set #icon_06 #ico_desc_06)) (set #icon_06 ""))
  259. (if (exists ("%s.%s" #prefix #ico_suffix_05)) ((set #icon 5) (set #icnt (+ 1 #icnt))(set #icon_05 #ico_desc_05)) (set #icon_05 ""))
  260. (if (exists ("%s.%s" #prefix #ico_suffix_04)) ((set #icon 4) (set #icnt (+ 1 #icnt))(set #icon_04 #ico_desc_04)) (set #icon_04 ""))
  261. (if (exists ("%s.%s" #prefix #ico_suffix_03)) ((set #icon 3) (set #icnt (+ 1 #icnt))(set #icon_03 #ico_desc_03)) (set #icon_03 ""))
  262. (if (exists ("%s.%s" #prefix #ico_suffix_02)) ((set #icon 2) (set #icnt (+ 1 #icnt))(set #icon_02 #ico_desc_02)) (set #icon_02 ""))
  263. (if (exists ("%s.%s" #prefix #ico_suffix_01)) ((set #icon 1) (set #icnt (+ 1 #icnt))(set #icon_01 #ico_desc_01)) (set #icon_01 ""))
  264. (if (exists ("%s.%s" #prefix #ico_suffix_00)) ((set #icon 0) (set #icnt (+ 1 #icnt))(set #icon_00 #ico_desc_00)) (set #icon_00 ""))
  265. (procedure P_Icon
  266.   (copyfiles
  267.     (help @copyfiles-help)
  268.     (source ("%s.%s" #prefix #icon-suf))
  269.     (newname ("%s.info" #icon-name))
  270.     (dest #icon-dir)
  271.   )
  272.   (tooltype
  273.     (dest (tackon #icon-dir #icon-name))
  274.     (noposition)
  275.   )
  276. )
  277. (if (> #icnt 1) (
  278.   (if (= #newstuff 1) (
  279.     (set #icon-dir ("T:%s Icons" #prefix))
  280.     (makedir #icon-dir
  281.       (help @makedir-help)
  282.     )
  283.     (if #icon_00 ((set #icon-suf #ico_suffix_00) (set #icon-name #ico_desc_00) (P_Icon)))
  284.     (if #icon_01 ((set #icon-suf #ico_suffix_01) (set #icon-name #ico_desc_01) (P_Icon)))
  285.     (if #icon_02 ((set #icon-suf #ico_suffix_02) (set #icon-name #ico_desc_02) (P_Icon)))
  286.     (if #icon_03 ((set #icon-suf #ico_suffix_03) (set #icon-name #ico_desc_03) (P_Icon)))
  287.     (if #icon_04 ((set #icon-suf #ico_suffix_04) (set #icon-name #ico_desc_04) (P_Icon)))
  288.     (if #icon_05 ((set #icon-suf #ico_suffix_05) (set #icon-name #ico_desc_05) (P_Icon)))
  289.     (if #icon_06 ((set #icon-suf #ico_suffix_06) (set #icon-name #ico_desc_06) (P_Icon)))
  290.     (if #icon_07 ((set #icon-suf #ico_suffix_07) (set #icon-name #ico_desc_07) (P_Icon)))
  291.     (if #icon_08 ((set #icon-suf #ico_suffix_08) (set #icon-name #ico_desc_08) (P_Icon)))
  292.     (if #icon_09 ((set #icon-suf #ico_suffix_09) (set #icon-name #ico_desc_09) (P_Icon)))
  293.     (if #icon_10 ((set #icon-suf #ico_suffix_10) (set #icon-name #ico_desc_10) (P_Icon)))
  294.     (if #icon_11 ((set #icon-suf #ico_suffix_11) (set #icon-name #ico_desc_11) (P_Icon)))
  295.     (openwbobject #icon-dir)
  296.   ))
  297.   (set #icon
  298.     (askchoice
  299.       (prompt "\nWhich icon would you like to install?\n")
  300.       (choices #icon_00 #icon_01 #icon_02 #icon_03 #icon_04 #icon_05 #icon_06 #icon_07 #icon_08 #icon_09 #icon_10 #icon_11)
  301.       (default #icon)
  302.       (help @askchoice-help)
  303.     )
  304.   )
  305.   (if (= #newstuff 1) (
  306.     (closewbobject #icon-dir)
  307.     (delete #icon-dir
  308.       (help @delete-help)
  309.       (all)
  310.     )
  311.   ))
  312. ))
  313. (select #icon
  314.   (set #icon #ico_suffix_00)
  315.   (set #icon #ico_suffix_01)
  316.   (set #icon #ico_suffix_02)
  317.   (set #icon #ico_suffix_03)
  318.   (set #icon #ico_suffix_04)
  319.   (set #icon #ico_suffix_05)
  320.   (set #icon #ico_suffix_06)
  321.   (set #icon #ico_suffix_07)
  322.   (set #icon #ico_suffix_08)
  323.   (set #icon #ico_suffix_09)
  324.   (set #icon #ico_suffix_10)
  325.   (set #icon #ico_suffix_11)
  326. )
  327. (copyfiles
  328.   (help @copyfiles-help)
  329.   (source ("%s.%s" #prefix #icon))
  330.   (newname ("%s.info" #prefix))
  331.   (dest #dest)
  332. )
  333. (if (= #icon "newicon")
  334.   ("")
  335.   (
  336.     (tooltype
  337.       (dest (tackon #dest #prefix))
  338.       (settooltype "Slave")
  339.       (settooltype "PreLoad")
  340.     )
  341.     (tooltype
  342.       (dest (tackon #dest #prefix))
  343.       (settooltype "PreLoad" "")
  344.       (settooltype "Slave" ("%s.Slave" #prefix))
  345.     )
  346.   )
  347. )
  348. (tooltype
  349.   (dest (tackon #dest #prefix))
  350.   (setdefaulttool "WHDLoad")
  351.   (setstack 10240)
  352.   (noposition)
  353. )
  354. (set #copy-file #readme-file)
  355. (P_CopyFile)
  356. (set #copy-file #man-file)
  357. (P_CopyFile)
  358. (set #copy-file #hint-file)
  359. (P_CopyFile)
  360. (set #copy-file #sol-file)
  361. (P_CopyFile)
  362. (set #dest-org #dest)
  363. (if (= #sub-dir "")
  364.   ("")
  365.   (
  366.     (set #dest (tackon #dest #sub-dir))
  367.     (makedir #dest
  368.       (help @makedir-help)
  369.     )
  370.   )
  371. )
  372. (set #copy-file #highs-file)
  373. (P_CopyFile)
  374. (P_MakeImages)
  375. (if (= #newstuff 1)
  376.   (openwbobject #dest-org)
  377. )
  378. (exit)
  379.